package cc.zy.base.hr.entity;

import cc.zy.base.common.converter.TimeConverter;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.Data;

import java.util.Date;

@Data
@TableName("t_hr_integral_detail")
@Excel("积分信息表")
public class ScoreIntegral {

    /**
     * ID
     */
    @TableId(value = "ID")
    private Integer id;

    /**
     * 员工ID
     */
    @TableField("STAFF_ID")
    private Integer staffId;

    /**
     * 员工姓名
     */
    @ExcelField(value = "员工姓名")
    @TableField(exist = false)
    private String staffName;

    /**
     * 积分类别
     */
    @TableField("TYPE")
    private Integer type;

    /**
     * 积分类别名称
     */
    @TableField(exist = false)
    @ExcelField(value = "积分类别名称")
    private String typeName;

    /**
     * 原始成绩
     */
    @TableField("SCORE")
    @ExcelField(value = "原始成绩")
    private Double score;

    /**
     * 原始成绩来源的文字信息
     */
    @TableField("SCORE_DESC")
    private String scoreDesc;

    /**
     * 原始成绩与积分映射关系备注说明
     */
    @TableField("MAPPING_REMARK")
    @ExcelField(value = "对应关系")
    private String mappingRemark;

    /**
     * 映射关系最小值
     */
    @TableField("MAPPING_MIN_VALUE")
    private Double mappingMinValue;

    /**
     * 映射关系最大值
     */
    @TableField("MAPPING_MAX_VALUE")
    private Double mappingMaxValue;

    /**
     * 通过映射关系取得的积分值
     */
    @TableField("INTEGRAL_VALUE")
    private Double integralValue;

    /**
     * 转换后的实际得分
     */
    @TableField("MAPPING_RESULT")
    @ExcelField(value = "实际分数")
    private Double mappingResult;

    /**
     * 数据创建的日期时间
     */
    @TableField("CREATE_DATE")
    @ExcelField(value = "创建时间", writeConverter = TimeConverter.class)
    @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒", timezone = "CTT")
    private Date createDate;

}
